With the advent of on-demand requirements, Information Technology (IT) organizations are grappling with the provisioning of resources to organizations within the cost limitations set by increasingly budget conscious concerns. The on-demand mode of data processing operation promises resources to users as they are needed. Users expect resources to be available to them in a timely manner and also want to be sure that the information on the resources is secure. In an environment where users are increasingly demanding more and more dedicated resources to specific tasks, the management of multiple resources for various user communities within small deployment windows becomes more difficult.
Many IT organizations still build resources by hand in a time consuming process that is measured in days and weeks rather than minutes and hours. More sophisticated organizations rely on tools that automatically “build machines” that can then be used in a matter of hours but even this can be difficult since the demand drives an ever decreasing time window. As used herein, the reference to “building machines” refers to the activities undertaken in an on-demand data processing environment to identify, assemble, assign and interconnect that environment's machine and software resources used to meet a client's on-demand requests. To deliver on the widely varying and dynamic demands of Information Technology users in a utility computing environment, resources are generally deployed in accordance with the following three principles in mind:                1. Resources are deployed as quickly as possible;        2. Resources are secure, thus ensuring that each user's community's configuration, as well as each user's data, is not available to other user's or user communities.        3. Resources are deployed with as small a management overhead as possible so as to ensure the cost effectiveness of the utility's resources.These basic principles are the underpinnings of IT optimization in a dynamically built infrastructure.        
The state of the art in dynamic construction of IT infrastructure relies on a set of tools each one of which is responsible for building a specific resource or resources. This resource building, commonly referred to as “provisioning,” utilizes a number of open standards based technologies that can be interconnected. This interconnectedness allows for the establishment of a hierarchy of tools running on servers in a management system. At the top of the hierarchy, a management server is responsible for telling provisioning servers which resources need to be provisioned. At the next level, a set of tools on a provisioning server is responsible for the actual provisioning of a set of resources.